Different levels of data storage provide different benefits. Data can be stored locally or remotely, and can be stored in a temporary storage medium (such as a cache) or in a more persistent storage medium (such as non-volatile memory). A cache stores data so that future requests for that data can be served faster. Data stored within a cache might include values that have been computed earlier or duplicates of original values that are stored elsewhere. If requested data is contained in the cache, a request can be served by simply reading the cache, which is faster than having the data recomputed or fetched from its original storage location. To be cost efficient and to enable an efficient use of data, however, caches are relatively small.
Storing data in a persistent location provides various benefits as well. For example, non-volatile memory may retain information even when a computer is not powered. Additionally, a single user may access the same data stored in a remote persistent location when using different computing devices. Multiple users may also have access to the same data stored in a remote persistent location.
Web applications and browser extensions may access and store different types of data. By using web application programming interface(s) (APIs), web applications or browser extensions may store data in a computing device's local disk so that the data is cached locally. A local cache may serve data faster than if the data is stored at a remote server, but updates or data from a web application would not necessarily be reflected if the user upgrades an operating system, or if the user changes to another computer or mobile device. Accordingly, different levels of storage for data used by web applications and browser extensions would allow developers to optimize features of the web applications and browser extensions, and would provide many benefits to users.